<html>
<head><meta charset="utf-8"><title>forcing queries · t-compiler · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/index.html">t-compiler</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/forcing.20queries.html">forcing queries</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="158727752"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/forcing%20queries/near/158727752" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Zoxc <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/forcing.20queries.html#158727752">(Feb 17 2019 at 05:03)</a>:</h4>
<p>When forcing queries, how do we ensure that the query would run at the same time for a clean build? Or if we manage to make queries order independent, how do we ensure that the query would run at all?</p>
<p>cc <span class="user-mention" data-user-id="124287">@mw</span></p>



<a name="158871238"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/forcing%20queries/near/158871238" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/forcing.20queries.html#158871238">(Feb 19 2019 at 10:39)</a>:</h4>
<p>I'm not sure I follow</p>



<a name="158871292"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/forcing%20queries/near/158871292" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/forcing.20queries.html#158871292">(Feb 19 2019 at 10:40)</a>:</h4>
<p>try-mark-green will mark and re-execute things in the order they were recorded during the previous session</p>



<a name="158871299"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/forcing%20queries/near/158871299" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/forcing.20queries.html#158871299">(Feb 19 2019 at 10:41)</a>:</h4>
<p>is that what you mean?</p>



<a name="158871564"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/forcing%20queries/near/158871564" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Zoxc <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/forcing.20queries.html#158871564">(Feb 19 2019 at 10:46)</a>:</h4>
<p>Dependencies of the current session may be different from the dependencies from the previous one. We may execute queries we wouldn't otherwise do</p>



<a name="158872374"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/forcing%20queries/near/158872374" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Zoxc <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/forcing.20queries.html#158872374">(Feb 19 2019 at 11:01)</a>:</h4>
<p>Maybe executing queries in order and stopping at the first red one takes care of this? Because we'd need to execute a query in order to gain information we can branch on.</p>



<a name="158873489"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/forcing%20queries/near/158873489" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Zoxc <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/forcing.20queries.html#158873489">(Feb 19 2019 at 11:21)</a>:</h4>
<p>So we can't execute queries after the first red one. The information from the red query could be used to change which later queries we would execute.</p>



<a name="158877274"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/forcing%20queries/near/158877274" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/forcing.20queries.html#158877274">(Feb 19 2019 at 12:28)</a>:</h4>
<p>Yes, we <em>have</em> to stop a the first red dependency - otherwise we'd run into trouble</p>



<a name="158877307"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/forcing%20queries/near/158877307" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/forcing.20queries.html#158877307">(Feb 19 2019 at 12:28)</a>:</h4>
<p>an early implementation of incr. comp. didn't observe this kind of order (we had hash sets of dependencies) but it ran into problems immediately</p>



<a name="158877347"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/forcing%20queries/near/158877347" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Zoxc <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/forcing.20queries.html#158877347">(Feb 19 2019 at 12:29)</a>:</h4>
<p>I though we did that only because our queries can't currently run in an arbitrary order</p>



<a name="158877542"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/forcing%20queries/near/158877542" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/forcing.20queries.html#158877542">(Feb 19 2019 at 12:32)</a>:</h4>
<p>I think they can pretty much run in any order, only red-green marking has to take care not to invoke queries that don't make any sense anymore in the new session</p>



<a name="158877592"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/forcing%20queries/near/158877592" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/forcing.20queries.html#158877592">(Feb 19 2019 at 12:33)</a>:</h4>
<p>well, at least in theory they should be able to run in any order <code>:)</code></p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>